package com.chinairi.mall.dao;

import com.chinairi.mall.controller.viewobject.SuggestionPlanParam;
import com.chinairi.mall.model.ReqModelDetail;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 模型明细需求模型明细数据库交互接口
 * </p>
 * @author 李昌赐
 * @since 2020-08-19
 */
public interface ReqModelDetailMapper extends BaseMapper<ReqModelDetail> {
    /**
     * 根据模型id获取模型明细id
     * @param modelId 模型id
     */
    List<String> getReqModelDetailIdListByModelId(@Param("modelId") String modelId);

    /**
     * 需求模型明细分页查询
     * @return 需求模型明细信息集合
     * <map></map>
     */
    List<Map<String,Object>> pageReqModelDetail(@Param("reqModelDetail") ReqModelDetail reqModelDetail);

    /**
     * 查询需求明细信息
     * @param modelDetailId 需求明细id
     * @return 需求明细信息
     */
    Map<String,Object>  getReqModelDetail(@Param("modelDetailId") String modelDetailId);

    /**
     * 井号下拉
     * @return 井号集合
     */
    List<Map<String,Object>> listWellNumber();

    /**
     * 井别下拉
     * @return 井号集合
     */
    List<Map<String,Object>> listWellClassification();

    /**
     * 井型下拉
     * @return 井型集合
     */
    List<Map<String,Object>> listWellType();

    /**
     * 工区下拉
     * @return 工区集合
     */
    List<Map<String,Object>> listWorkArea();

    /**
     * 获取最大序号
     * @param modelId 模型id
     * @return 最大序号的值
     */
    Integer getMatModelOrder(@Param("modelId") String modelId);

    /**
     * 随机获取三个库位名称
     * @return
     */
    List<String> getStorageName();

    /**
     * 获取最大最小消耗量
     * @param conNum
     * @return
     */
    List<Map<String, Object>> getConNum(@Param("conNum") String conNum);

    /**
     * 建议计划查询
     * @param suggestionPlanParam
     * @return
     */
    List<Map<String, Object>> getSuggestionPlanInfo(@Param("suggestionPlanParam") SuggestionPlanParam suggestionPlanParam);
}
